/*
 * Copyright (C) 2009 Jiannan Lu
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.restsql;

/**
 *
 * @author jiann.lu@yahoo.com
 */
public abstract class Uniform {

     /**
     * Deletes the resource and all its representations at the target URI.
     *
     * @param resourceUri
     *            The URI of the resource to delete.
     * @return The response.
     */
    public final void delete(String resourceUri) {
        //return handle(new Request(Method.DELETE, resourceUri));
    }

     /**
     * Gets the identified resource.
     *
     * @param resourceUri
     *            The URI of the resource to get.
     * @return The response.
     * @see <a
     *      href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3">HTTP
     *      GET method</a>
     */
    public final void get(String resourceUri) {
        //return handle(new Request(Method.GET, resourceUri));
    }

     /**
     * Posts a representation to the resource at the target URI.
     *
     * @param resourceUri
     *            The URI of the resource to post to.
     * @param entity
     *            The entity to post.
     * @return The response.
     * @see <a
     *      href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5">HTTP
     *      POST method</a>
     */
    public final void post(String resourceUri, String entity) {
        //return handle(new Request(Method.POST, resourceUri, entity));
    }


    /**
     * Creates or updates a resource at the target URI with the given
     * representation as new state to be stored.
     *
     * @param resourceUri
     *            The URI of the resource to modify.
     * @param representation
     *            The representation to store.
     * @return The response.
     * @see <a
     *      href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6">HTTP
     *      PUT method</a>
     */
    public final void put(String resourceUri, String representation) {
        //return handle(new Request(Method.PUT, resourceUri, representation));
    }
}
